#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	/*double x = 1.42;
//	printf("%lf", x % 3);*/
//
//	/*int x = 0;
//	x = 1 ^ (1 << 31 >> 31);
//	printf("%d\n", x);*/
//	int i = 1;
//	sizeof(i++);
//	printf("%d\n", i);
//	return 0;
//}

//int findMaxConsecutiveOnes(int* nums, int numsSize){
//	int max = 0;
//	int tmp = 0;
//	for (int i = 0; i<numsSize+1; i++){
//		if (nums[i] == 1){
//			tmp++;
//		}
//		else{
//			if (max<tmp){
//				max = tmp;
//			}
//			tmp = 0;
//		}
//	}
//	return max;
//}
//int main()
//{
//	int arr[] = { 1, 1, 0, 1, 1, 1 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	int m = findMaxConsecutiveOnes(arr, len);
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	while (~scanf("%d", &n))
//	{
//		int m = 0;
//		for (int j = 3; j <= n; j++)
//		{
//			int sum = 0;
//			for (int i = 2; i < j; i++)
//			{
//				if (j % i == 0)
//				{
//					sum += i + j / i;
//				}
//			}
//			if ((sum / 2) + 1 == j)
//			{
//				m++;
//			}
//		}
//		printf("%d\n", m);
//	}
//	return 0;
//}

//int main()
//{
//	char c = 'A';
//	if ('0' <= c <= '9') printf("YES");
//	else printf("NO");
//	return 0;
//}

//int main()
//{
//	char arr[32] = { 0 };
//	gets(arr);
//	for (int i = strlen(arr)-1; i >= 0; i--)
//	{
//			printf("%c", arr[i]);
//	}
//	return 0;
//}

void exchange(char *arr, int left, int right)
{
	while (left < right)
	{
		char tmp = 0;
		tmp = arr[left];
		arr[left] = arr[right];
		arr[right] = tmp;
		left++;
		right--;
	}
}
int main()
{
	char arr[100] = { 0 };
	gets(arr);
	int left = 0;
	int right = strlen(arr) - 1;
	for (int i = 0; i < right; ++i)
	{
		if (arr[i] >= 'A' && arr[i] <= 'Z' || arr[i] >= 'a' && arr[i] <= 'z' || arr[i] == ' ')
		{
		}
		else
		{
			arr[i] = ' ';
		}
	}
	if (arr[0] == ' ')
	{
		for (int i = 0; i<right; i++)
		{
			arr[i] = arr[i + 1];
		}
	}
	arr[right] = '\0';
	right--;
	exchange(arr, left, right);
	int m = 0;
	for (int i = 0; i < right; i++)
	{
		if (arr[i] == ' ')
		{
			exchange(arr, left, i - 1);
			left = i + 1;
			m = i;
		}
	}
	exchange(arr, m + 1, right);
	printf("%s\n", arr);
	return 0;
}